package com.sxw.controller;

import com.sxw.dto.PlayerSessionDto;
import com.sxw.utils.R;
import com.sxw.utils.RedisUtils;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class SysUserSessionController {

    private final RedisUtils redisUtils;

    public SysUserSessionController(RedisUtils redisUtils) {
        this.redisUtils = redisUtils;
    }

    @GetMapping("/userlist")
    public R<String> userlist(HttpServletRequest request) {
        String userName = request.getAttribute("userName").toString();
        // 注意：现在我们使用登录名作为键，而不是用户ID，这里需要根据实际情况调整
        // 为了保持向后兼容，暂时保留原来的实现方式
        return R.ok(redisUtils.getString("player:session:" + userName));
    }
    
    @GetMapping("/checkSession")
    public R<String> checkSession(HttpServletRequest request) {
        String userName = request.getAttribute("userName").toString();
        // 注意：现在我们使用登录名作为键，而不是用户ID，这里需要根据实际情况调整
        String sessionKey = "player:session:" + userName;
        if (redisUtils.hasKey(sessionKey)) {
            return R.ok("Session is active");
        } else {
            return R.fail("Session not found or expired");
        }
    }
}